package com.itheima.behavior.service;

import com.itheima.model.behavior.dtos.BehaviorDto;
import com.itheima.model.common.dtos.PageResponseResult;
import com.itheima.model.common.dtos.ResponseResult;

import java.util.List;

/**
 * 行为追踪服务接口
 */
public interface BehaviorTrackService {

    /**
     * 单条行为上报
     */
    ResponseResult trackBehavior(BehaviorDto dto);

    /**
     * 批量行为上报
     */
    ResponseResult trackBehaviorBatch(List<BehaviorDto> dtoList);

    /**
     * 开始阅读（开始计时）
     */
    ResponseResult startReading(Integer bookId);

    /**
     * 结束阅读（结束计时）
     */
    ResponseResult endReading(Integer bookId, Integer duration);

    /**
     * 获取用户行为统计
     */
    ResponseResult getUserBehaviorStats(Integer userId);

    /**
     * 获取用户浏览记录
     * @param userId 用户ID
     * @param timeFilter 时间筛选：all/today/week/month
     * @param page 页码
     * @param size 每页大小
     * @return 分页结果
     */
    PageResponseResult getBrowsingHistory(Integer userId, String timeFilter, Integer page, Integer size);

    /**
     * 删除单条浏览记录
     * @param userId 用户ID
     * @param recordId 记录ID
     * @return 操作结果
     */
    ResponseResult deleteBrowsingRecord(Integer userId, String recordId);

    /**
     * 清空所有浏览记录
     * @param userId 用户ID
     * @return 操作结果
     */
    ResponseResult clearAllBrowsingHistory(Integer userId);
}

